Conventional computer-based systems generally have the capacity to quickly process many decisional rules of the type "IF [condition], then [perform task]." As processing occurs and the decisional rule is executed, if the condition is fulfilled, the task will be performed.
IF type logic statements, in fact, could fairly be called fundamental constructs in computer science-based technology and IF statements are standard language descriptors shared by most high level computer languages including Ada, Algol, BASIC, C, LISP, FORTRAN; and even software command languages such as dBASE III and SuperCalc. A system which has the ability to perform tasks based on the fulfillment of one or more conditions following an IF statement as that statement is executed is satisfactory for many applications.
Unfortunately, such systems do not include means to automatically evaluate whether the condition are fulfilled unless the decisional rule containing the IF command is itself currently being executed. Furthermore, sequential evaluation of the decisional rules is not automatic. Processing starts, the decisional rule is executed once, and processing then continues. To recursively evaluate the condition of the decisional rule, the decisional rule itself must be recursively executed. To accomplish this, computer programmers skilled in the art must program the system appropriately using "loops" so that recursive execution of the decisional rule occurs.
In many applications, however, such as in systems on board the space shuttle or space station, the astronaut or ground crew operators of such systems may not be sufficiently skilled in computer science disciplines to program the system to meet their needs. Furthermore, such programming is time consuming, cumbersome and complex in systems involving many decisional rules, subject to errors, and not ergonomically sound. In addition, such programming requires continuous execution in programming "loops" containing the decisional rules.
Most importantly, human beings think not in terms of recursive repetition of decisions whether to perform a given task; instead, they base their actions on when in time it would be appropriate to perform the task. The process of translating human thought into an abstract series of steps that could implement that thought has been the focus (and the success) of computer-based systems and artificial intelligence. The invention of high level programming languages was a major achievement in the development of a system which emulates not machine thinking, but human thinking. Recursive based evaluations of decisional rules, common in programming using high level languages, however, still emulate machine thinking. For example, imagine a given task is: at 30 seconds before launch, ignition of the shuttle rocket engine is to occur. This decision rule would look something like: "IF T=T.sub.launch -30, then ignite rocket engine."
Prior art systems would execute the rule and in doing so, check once whether T=T.sub.launch -30 is true. If this condition is not true, execution ends. This prior art system could be forced to recursively execute this decisional rule until T=T.sub.launch -30 is true, (and then ignite the rocket engine), but the skill required to achieve this result, as explained above, is not elementary.
Since human beings have the capacity to easily function within the flow of time, a better system, and a system which more closely emulates human thinking, would automatically receive and process decisional rules based on the flow of time. The form of such a decisional rule might be: "When T=T.sub.launch -30, then ignite engine." Unfortunately, no such system exists. As delineated above, the same result may be achieved, more or less, by individually designing the IF-based decisional rules of prior art systems, but achieving that result requires specialized training, and an often complicated design. Astronauts and others who often use such systems often lack specialized training, and moreover do not have sufficient time (while operating other systems on board a space craft) to engage in such design efforts.
Accordingly, there is a need for a system based on emulating human thinking and which therefore functions within the flow of time.